Page({
    data: {
      // 原始咨询记录（用于筛选重置）
      originalRecords: [],
      // 筛选后显示的记录
      filteredRecords: [],
      
      // 时间筛选：当前选中值（all=全部，7=近7天，30=近30天）
      currentTimeFilter: 'all',
      // 问题分类筛选：当前选中值（all=全部，智齿/龋齿/矫正）
      currentTypeFilter: 'all',
      
      // 筛选菜单显示状态
      showTimeFilterMenu: false,
      showTypeFilterMenu: false
    },
  
    /**
     * 页面加载时初始化数据
     */
    onLoad(options) {
      // 1. 模拟获取原始咨询记录（后续替换为接口请求）
      const mockData = this.getMockConsultRecords();
      this.setData({
        originalRecords: mockData,
        filteredRecords: mockData // 初始显示所有记录
      });
    },
  
    /**
     * Mock 函数：获取咨询记录数据（后续替换为接口）
     */
    getMockConsultRecords() {
      return [
        {
          id: 1,
          time: '2025-11-24 09:30',
          title: '智齿发炎疼痛咨询',
          status: '已回复',
          desc: '左下智齿反复发炎，吞咽时疼痛明显，脸颊有点肿胀，是否需要立即拔除？拔除后需要注意什么？'
        },
        {
          id: 2,
          time: '2025-11-20 14:20',
          title: '龋齿治疗方案咨询',
          status: '已回复',
          desc: '门牙有黑点，医生检查说是龋齿，想了解补牙的材料有哪些？不同材料的价格和使用寿命是多少？'
        },
        {
          id: 3,
          time: '2025-11-15 11:15',
          title: '牙齿矫正咨询',
          status: '待回复',
          desc: '想做隐形矫正，请问需要多久时间？费用大概是多少？矫正过程中会不会很疼？'
        },
        {
          id: 4,
          time: '2025-10-28 16:40',
          title: '智齿拔除后出血',
          status: '已回复',
          desc: '昨天拔了智齿，现在还有轻微出血，正常吗？需要吃什么药？饮食上有什么禁忌？'
        },
        {
          id: 5,
          time: '2025-10-20 08:50',
          title: '儿童龋齿预防',
          status: '已回复',
          desc: '孩子5岁，已经有两颗龋齿，想知道怎么预防更多龋齿？平时刷牙需要注意什么？'
        },
        {
          id: 6,
          time: '2025-11-05 13:30',
          title: '矫正器佩戴不适',
          status: '待回复',
          desc: '刚戴上隐形矫正器，感觉牙齿酸痛，说话不清楚，这是正常现象吗？会持续多久？'
        }
      ];
    },
  
    /**
     * 切换时间筛选菜单显示/隐藏
     */
    toggleTimeFilter() {
      this.setData({
        showTimeFilterMenu: !this.data.showTimeFilterMenu,
        showTypeFilterMenu: false // 关闭另一个菜单，避免重叠
      });
    },
  
    /**
     * 切换问题分类筛选菜单显示/隐藏
     */
    toggleTypeFilter() {
      this.setData({
        showTypeFilterMenu: !this.data.showTypeFilterMenu,
        showTimeFilterMenu: false // 关闭另一个菜单，避免重叠
      });
    },
  
    /**
     * 选择时间筛选条件
     * @param {*} e 事件对象，包含选中的时间类型（all/7/30）
     */
    selectTimeFilter(e) {
      const timeType = e.currentTarget.dataset.type;
      this.setData({
        currentTimeFilter: timeType,
        showTimeFilterMenu: false // 选择后关闭菜单
      }, () => {
        // 筛选条件变化后，执行交集筛选
        this.filterRecords();
      });
    },
  
    /**
     * 选择问题分类筛选条件
     * @param {*} e 事件对象，包含选中的类型（all/智齿/龋齿/矫正）
     */
    selectTypeFilter(e) {
      const type = e.currentTarget.dataset.type;
      this.setData({
        currentTypeFilter: type,
        showTypeFilterMenu: false // 选择后关闭菜单
      }, () => {
        // 筛选条件变化后，执行交集筛选
        this.filterRecords();
      });
    },
  
    /**
     * 核心筛选函数：根据时间和类型筛选，取交集
     */
    filterRecords() {
      const { originalRecords, currentTimeFilter, currentTypeFilter } = this.data;
      let result = [...originalRecords]; // 从原始数据开始筛选
  
      // 1. 时间筛选（取近7天/30天，或全部）
      if (currentTimeFilter !== 'all') {
        const days = parseInt(currentTimeFilter);
        const targetTime = new Date().getTime() - days * 24 * 60 * 60 * 1000; // 目标时间戳
        result = result.filter(record => {
          const recordTime = new Date(record.time).getTime();
          return recordTime >= targetTime; // 筛选出目标时间之后的记录
        });
      }
  
      // 2. 问题分类筛选（取包含关键词的记录，或全部）
      if (currentTypeFilter !== 'all') {
        result = result.filter(record => {
          // 匹配标题或描述中包含筛选关键词的记录
          return record.title.includes(currentTypeFilter) || record.desc.includes(currentTypeFilter);
        });
      }
  
      // 3. 更新筛选结果
      this.setData({
        filteredRecords: result
      });
    },
  
    /**
     * 跳转到咨询详情页
     * @param {*} e 事件对象，包含咨询记录ID
     */
    goToDetail(e) {
      const recordId = e.currentTarget.dataset.id;
      wx.navigateTo({
        url: `/pages/business/consultDetail/consultDetail?id=${recordId}`
      });
    },
  
    /**
     * 跳转到发起咨询页
     */
    goToConsult() {
      wx.navigateTo({
        url: '/pages/business/expertConsult/expertConsult'
      });
    },
  
    /**
     * 页面卸载时，重置筛选状态（可选，避免缓存）
     */
    onUnload() {
      this.setData({
        currentTimeFilter: 'all',
        currentTypeFilter: 'all',
        showTimeFilterMenu: false,
        showTypeFilterMenu: false
      });
    }
  });